/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package caintra.Sapra.Pantalla.Ajuste;

import caintra.Sapra.ComponentsImplements.BotonCaintra;
import caintra.Sapra.ComponentsImplements.LabelCaintra;
import caintra.Sapra.ComponentsImplements.TableCaintra;
import caintra.Sapra.ComponentsImplements.TextFieldCaintra;
import caintra.Sapra.Model.Calendariofacturacionpracticantes;
import caintra.Sapra.Model.Practicante;
import caintra.Sapra.Model.Usuario;
import caintra.Sapra.Pantalla.Prefactura.PrefacturaMController;
import caintra.Sapra.Pantalla.QuincenalMensual.PrefacturaMControllerQM;
import java.util.ArrayList;
import nextapp.echo2.app.Alignment;
import nextapp.echo2.app.Color;
import nextapp.echo2.app.Column;
import nextapp.echo2.app.ContentPane;
import nextapp.echo2.app.Extent;
import nextapp.echo2.app.Grid;
import nextapp.echo2.app.Insets;
import nextapp.echo2.app.RadioButton;
import nextapp.echo2.app.Row;
import nextapp.echo2.app.TextArea;

/**
 *
 * @author Administrador
 */
public class AjusteView extends ContentPane{


    RadioButton radio_dias,radio_monto,radio_agrega,radio_descuenta, periodo1, periodo2;
    LabelCaintra tipo_monto,forma_aplicar,label_comentario,label_error,label_error_tabla,title_mov,label_nombre, sel_per;
    TextFieldCaintra txt_dias,txt_monto;
    TextArea txt_comentario;
    Column gran_columna,col_g2;
    Grid g_tipo,g_forma,g_boton;
    Grid super_g;
    Row rper=new Row();
    TableCaintra table_caintra;
    BotonCaintra boton_guardar,boton_limpiar,Eliminar_Ajuste,Salir_ajuste;
    Practicante p;
    Calendariofacturacionpracticantes periodo, per1, per2;
    ArrayList<Practicante> Lista_Detalle;
    ArrayList<Practicante> Lista_Detalle1;
    ArrayList<Practicante> Lista_Detalle2;
    PrefacturaMController prefactura;
    PrefacturaMControllerQM prefqm;
    Usuario usuario;
    String label_movimiento="";
    public final int Ajuste=0;
    public final int Deduccion=1;
    public int opc_mov=1;


    final int Autorizada=1;
    final int No_Autorizada=2;
    final int Sin_Practicantes=3;
    final int Administrador=1;
    final int No_Administrador=2;


    public int tipo_proceso=0;
    public int tipo_usuario=0;

    public boolean bandera=false;
    public void permisos(){
        try {
            if(tipo_proceso == Autorizada){
                gran_columna.setVisible(false);
                Eliminar_Ajuste.setVisible(false);
                table_caintra.setEnabled(false);
            }
            if(tipo_proceso ==  No_Autorizada){
                gran_columna.setVisible(true);
                Eliminar_Ajuste.setVisible(true);
                table_caintra.setEnabled(true);
            }
        } catch (Exception e) {
        }
    }

    public AjusteView(PrefacturaMController prefactura,int opc){
        try {
            this.prefactura=prefactura;
            this.p = this.prefactura.p_sel;
            this.periodo = this.prefactura.fecha;
            this.Lista_Detalle=this.prefactura.Lista_Detalle;
            this.usuario=this.prefactura.usuario;
            this.opc_mov = opc;
            this.tipo_proceso = prefactura.tipo_proceso;
            this.tipo_usuario = prefactura.tipo_usuario;
            if(Deduccion == this.opc_mov){
                label_movimiento="label_deduccion";
            }else{
                label_movimiento="label_ajustes";
            }
            inicializar();
            initComponents();
            this.setBackground(new Color(229, 229, 228));
            AjusteController aj=new AjusteController(this);
        } catch (Exception e) {
        }
    }

    public AjusteView(PrefacturaMControllerQM prefacturaqm,int opc){
        try {
            this.bandera=true;
            this.prefqm=prefacturaqm;
            this.p = this.prefqm.p_sel;
            if (this.prefqm.autorizada1 == false) {
                this.per1 = this.prefqm.fecha;
            } else {
                this.per1 = this.prefqm.fecha;
            }

            if (this.prefqm.autorizada2 == false) {
                this.per2 = this.prefqm.fecha2;
            } else {
                this.per2 = this.prefqm.fecha2;
            }
            this.Lista_Detalle1=this.prefqm.Lista_Detalle;
            this.Lista_Detalle2=this.prefqm.Lista_Detalle2;
            this.usuario=this.prefqm.usuario;
            this.opc_mov = opc;
            this.tipo_proceso = prefqm.tipo_proceso;
            this.tipo_usuario = prefqm.tipo_usuario;
            if(Deduccion == this.opc_mov){
                label_movimiento="label_deduccion";
            }else{
                label_movimiento="label_ajustes";
            }
            inicializar();
            initComponents();
            this.setBackground(new Color(229, 229, 228));
            AjusteController aj=new AjusteController(this);
        } catch (Exception e) {
        }
    }
    public void initComponents(){
        try {
            gran_columna.add(tipo_monto);

            g_tipo.add(radio_dias);
            g_tipo.add(txt_dias);
            g_tipo.add(radio_monto);
            g_tipo.add(txt_monto);
            gran_columna.add(g_tipo);
            gran_columna.add(sel_per);
            rper.add(periodo1);
            rper.add(periodo2);
            gran_columna.add(rper);

            gran_columna.add(forma_aplicar);

            g_forma.add(radio_agrega);
            g_forma.add(radio_descuenta);
            gran_columna.add(g_forma);

            gran_columna.add(label_comentario);
            gran_columna.add(txt_comentario);

            g_boton.add(boton_guardar);
            g_boton.add(boton_limpiar);
            gran_columna.add(g_boton);

            gran_columna.add(label_error);
            super_g.add(gran_columna);

            Grid grid_boton=new Grid();

            col_g2.add(title_mov);
            col_g2.add(label_nombre);
            col_g2.add(label_error_tabla);

            grid_boton.add(Eliminar_Ajuste);
            grid_boton.add(Salir_ajuste);
            
            col_g2.add(table_caintra);
            col_g2.add(grid_boton);
            
            super_g.add(col_g2);
            add(super_g);

        } catch (Exception e) {
            this.removeAll();
        }
    }

     public void inicializar(){
         try {
              super_g=new Grid(2);
              g_tipo=new Grid(2);
              g_forma=new Grid(2);
              g_boton=new Grid(2);
              gran_columna=new Column();
              rper=new Row();
              col_g2=new Column();
              radio_dias=new RadioButton(" Dias ");
              radio_dias.setAlignment(Alignment.ALIGN_LEFT);
              radio_dias.setActionCommand("Dias");

              radio_monto=new RadioButton(" Monto ");
              radio_monto.setAlignment(Alignment.ALIGN_LEFT);
              radio_monto.setActionCommand("Monto");

              radio_agrega=new RadioButton(" Agregar ");
              radio_agrega.setAlignment(Alignment.ALIGN_LEFT);
              radio_agrega.setActionCommand("Agregar");

              radio_descuenta=new RadioButton(" Descontar ");
              radio_descuenta.setAlignment(Alignment.ALIGN_LEFT);
              radio_descuenta.setActionCommand("Descontar");

              periodo1=new RadioButton(" Periodo 1 ");
              periodo1.setAlignment(Alignment.ALIGN_LEFT);
              periodo1.setActionCommand("per1");

              periodo2=new RadioButton(" Periodo 2 ");
              periodo2.setAlignment(Alignment.ALIGN_LEFT);
              periodo2.setActionCommand("per2");

              txt_dias=new TextFieldCaintra(120, 8);
              txt_monto=new TextFieldCaintra(120, 8);

              tipo_monto=new LabelCaintra("Tipo", Color.BLACK);
              forma_aplicar=new LabelCaintra("Forma", Color.BLACK);
              label_comentario=new LabelCaintra("Comentarios", Color.BLACK);
              sel_per=new LabelCaintra("Seleccionar periodo", Color.BLACK);
              txt_comentario=new TextArea();
              txt_comentario.setWidth(new Extent(200));
              txt_comentario.setMaximumLength(150);
              txt_comentario.setHeight(new Extent(140));
              gran_columna.setInsets(new Insets(20, 20, 0, 0));

              table_caintra=new TableCaintra("ajuste", 600);

              boton_guardar=new BotonCaintra("guardar.png", "label_guardar");

              boton_limpiar=new BotonCaintra("limpiar.png", "label_limpiar");

              Eliminar_Ajuste=new BotonCaintra("eliminar.png","label_Eliminar");

              label_error=new LabelCaintra("", Color.RED);

              label_error_tabla=new LabelCaintra("", Color.RED);

              title_mov=new LabelCaintra(label_movimiento, Color.BLACK);

              label_nombre=new LabelCaintra("label_practicante", Color.BLACK);

              Salir_ajuste=new BotonCaintra("salir.png","salir");

         } catch (Exception e) {
             this.removeAll();
         }
     }
}
